home *** CD-ROM | disk | FTP | other *** search
/ PC User 2004 August / Disc 1 / PCU0804CD1.iso / resource / Multmedia / files / bsplayer.exe / $INSTDIR / sdk / plugins / C / Sample / sampleplugin.c < prev   
Encoding:
C/C++ Source or Header  |  2004-06-01  |  1.1 KB  |  51 lines

  1. #define  WIN32_LEAN_AND_MEAN
  2. #include <windows.h>
  3.  
  4. #include "..\..\..\bsp.h"
  5. #include "..\..\bspplg.h"
  6.  
  7. PpluginInfo pInfo;
  8.  
  9. BOOL APIENTRY DllMain( HANDLE hModule, 
  10.                        DWORD  ul_reason_for_call, 
  11.                        LPVOID lpReserved
  12.                      )
  13. {
  14.     return TRUE;
  15. }
  16.  
  17. void Config(const HWND winh)
  18. {
  19.   MessageBox(winh,"Configuration","Info",0);
  20. }
  21.  
  22. int __stdcall CallbackProc(const DWORD cmdID,void * param1, void * param2)
  23. {
  24.     switch (cmdID) {
  25.         case EV_UNLOAD:MessageBox(pInfo->hwndParent,"Plugin is unloading","Info",0);break;
  26.         case EV_PLAY:pInfo->ShowOSDText("Hello from plugin",4000,50000);break;
  27.         case EV_CONFIG:Config((HWND)param1);break;
  28.         case EV_ABOUT:MessageBox((HWND)param1,"Sample plugin v 0.1","About",0);break;
  29.     }
  30.  
  31.     return 0;
  32. }
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. BOOL __stdcall pluginInit(PpluginInfo plgInfo)
  39. {
  40.   strcpy(plgInfo->description,"Sample plugin");
  41.   plgInfo->plgCallback=CallbackProc;
  42.   pInfo=plgInfo;
  43.   MessageBox(plgInfo->hwndParent,"Plugin init","Info",0);
  44.  
  45.   return TRUE;
  46. }
  47.  
  48. #ifdef __cplusplus
  49. }
  50. #endif
  51.